package io.renren.modules.sys.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;

import java.io.Serializable;
import java.util.Date;

/**
 * 单据主表
 * 
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2018-11-22 14:29:36
 */
@TableName("depothead")
public class DepotheadEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private Long id;
	/**
	 * 类型(出库/入库)
	 */
	private String type;
	/**
	 * 出入库分类
	 */
	private String subtype;
	/**
	 * 项目Id
	 */
	private Long projectid;
	/**
	 * 初始票据号
	 */
	private String defaultnumber;
	/**
	 * 票据号
	 */
	private String number;
	/**
	 * 操作员名字
	 */
	private String operpersonname;
	/**
	 * 创建时间
	 */
	private Date createtime;
	/**
	 * 出入库时间
	 */
	private Date opertime;
	/**
	 * 供应商Id
	 */
	private Long organid;
	/**
	 * 采购/领料-经手人Id
	 */
	private Long handspersonid;
	/**
	 * 账户Id
	 */
	private Long accountid;
	/**
	 * 账户Id
	 */
	@TableField(exist = false)
	private String accountname;
	/**
	 * 变动金额(收款/付款)
	 */
	private Double changeamount;
	/**
	 * 调拨时，对方项目Id
	 */
	private Long allocationprojectid;
	/**
	 * 合计金额
	 */
	private Double totalprice;
	/**
	 * 付款类型(现金、记账等)
	 */
	private String paytype;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 业务员（可以多个）
	 */
	private String salesman;
	/**
	 * 多账户ID列表
	 */
	private String accountidlist;
	/**
	 * 多账户金额列表
	 */
	private String accountmoneylist;
	/**
	 * 多账户ID列表
	 */
	@TableField(exist = false)
	private String[] accountidattr;
	/**
	 * 多账户金额列表
	 */
	@TableField(exist = false)
	private String[] accountmoneyattr;
	/**
	 * 优惠率
	 */
	private Double discount;
	/**
	 * 优惠金额
	 */
	private Double discountmoney;
	/**
	 * 优惠后金额
	 */
	private Double discountlastmoney;
	/**
	 * 销售或采购费用合计
	 */
	private Double othermoney;
	/**
	 * 销售或采购费用涉及项目Id数组（包括快递、招待等）
	 */
	private String othermoneylist;
	/**
	 * 销售或采购费用涉及项目（包括快递、招待等）
	 */
	private String othermoneyitem;
	/**
	 * 结算天数
	 */
	private Integer accountday;
	/**
	 * 单据状态(未审核、已审核)
	 */
	private Boolean status;

	@TableField(exist = false)
	private String materialsList;

	@TableField(exist = false)
	private String organName;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getType() {
		return type;
	}

	public String getMaterialsList() {
		return materialsList;
	}

	public void setMaterialsList(String materialsList) {
		this.materialsList = materialsList;
	}

	public String getOrganName() {
		return organName;
	}

	public void setOrganName(String organName) {
		this.organName = organName;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getSubtype() {
		return subtype;
	}

	public void setSubtype(String subtype) {
		this.subtype = subtype;
	}

	public Long getProjectid() {
		return projectid;
	}

	public void setProjectid(Long projectid) {
		this.projectid = projectid;
	}

	public String getDefaultnumber() {
		return defaultnumber;
	}

	public void setDefaultnumber(String defaultnumber) {
		this.defaultnumber = defaultnumber;
	}

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}

	public String getOperpersonname() {
		return operpersonname;
	}

	public void setOperpersonname(String operpersonname) {
		this.operpersonname = operpersonname;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	public Date getOpertime() {
		return opertime;
	}

	public void setOpertime(Date opertime) {
		this.opertime = opertime;
	}

	public Long getOrganid() {
		return organid;
	}

	public void setOrganid(Long organid) {
		this.organid = organid;
	}

	public Long getHandspersonid() {
		return handspersonid;
	}

	public void setHandspersonid(Long handspersonid) {
		this.handspersonid = handspersonid;
	}

	public Long getAccountid() {
		return accountid;
	}

	public void setAccountid(Long accountid) {
		this.accountid = accountid;
	}

	public String getAccountname() {
		return accountname;
	}

	public void setAccountname(String accountname) {
		this.accountname = accountname;
	}

	public Double getChangeamount() {
		return changeamount;
	}

	public void setChangeamount(Double changeamount) {
		this.changeamount = changeamount;
	}

	public Long getAllocationprojectid() {
		return allocationprojectid;
	}

	public void setAllocationprojectid(Long allocationprojectid) {
		this.allocationprojectid = allocationprojectid;
	}

	public Double getTotalprice() {
		return totalprice;
	}

	public void setTotalprice(Double totalprice) {
		this.totalprice = totalprice;
	}

	public String getPaytype() {
		return paytype;
	}

	public void setPaytype(String paytype) {
		this.paytype = paytype;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getSalesman() {
		return salesman;
	}

	public void setSalesman(String salesman) {
		this.salesman = salesman;
	}

	public String getAccountidlist() {
		return accountidlist;
	}

	public void setAccountidlist(String accountidlist) {
		this.accountidlist = accountidlist;
	}

	public String getAccountmoneylist() {
		return accountmoneylist;
	}

	public void setAccountmoneylist(String accountmoneylist) {
		this.accountmoneylist = accountmoneylist;
	}

	public String[] getAccountidattr() {
		return accountidattr;
	}

	public void setAccountidattr(String[] accountidattr) {
		this.accountidattr = accountidattr;
	}

	public String[] getAccountmoneyattr() {
		return accountmoneyattr;
	}

	public void setAccountmoneyattr(String[] accountmoneyattr) {
		this.accountmoneyattr = accountmoneyattr;
	}

	public Double getDiscount() {
		return discount;
	}

	public void setDiscount(Double discount) {
		this.discount = discount;
	}

	public Double getDiscountmoney() {
		return discountmoney;
	}

	public void setDiscountmoney(Double discountmoney) {
		this.discountmoney = discountmoney;
	}

	public Double getDiscountlastmoney() {
		return discountlastmoney;
	}

	public void setDiscountlastmoney(Double discountlastmoney) {
		this.discountlastmoney = discountlastmoney;
	}

	public Double getOthermoney() {
		return othermoney;
	}

	public void setOthermoney(Double othermoney) {
		this.othermoney = othermoney;
	}

	public String getOthermoneylist() {
		return othermoneylist;
	}

	public void setOthermoneylist(String othermoneylist) {
		this.othermoneylist = othermoneylist;
	}

	public String getOthermoneyitem() {
		return othermoneyitem;
	}

	public void setOthermoneyitem(String othermoneyitem) {
		this.othermoneyitem = othermoneyitem;
	}

	public Integer getAccountday() {
		return accountday;
	}

	public void setAccountday(Integer accountday) {
		this.accountday = accountday;
	}

	public Boolean getStatus() {
		return status;
	}

	public void setStatus(Boolean status) {
		this.status = status;
	}
}
